package com.mingqijia.gassafety.webserver.service;

import com.gap.basic.base.CommonResponse;
import com.mingqijia.gassafety.shared.utils.commonUtils.PageUtil;
import com.mingqijia.gassafety.webserver.request.AccountNumberAddRequest;
import com.mingqijia.gassafety.webserver.request.AccountNumberEditRequest;
import com.mingqijia.gassafety.webserver.request.AccountNumberIdRequest;
import com.mingqijia.gassafety.webserver.request.AccountNumberIdsRequest;
import com.mingqijia.gassafety.webserver.request.AccountNumberListRequest;
import com.mingqijia.gassafety.webserver.response.AccountCheckPasswordResp;
import com.mingqijia.gassafety.webserver.response.AccountNumberResp;
import com.mingqijia.gassafety.webserver.response.AccountNumberRoleListResp;

import java.util.List;
import java.util.Map;

/**
 * @author zm
 * @className AccountNumberService
 * @Description
 * @createTime 2024/7/30 13:37
 */
public interface AccountNumberService {

    CommonResponse<PageUtil<AccountNumberResp>> getList(AccountNumberListRequest req);

    CommonResponse<AccountNumberResp> detail(AccountNumberIdRequest req);

    CommonResponse<Boolean> add(AccountNumberAddRequest req);

    CommonResponse<Boolean> edit(AccountNumberEditRequest req);

    CommonResponse<Boolean> activate(AccountNumberIdsRequest req);

    CommonResponse<Boolean> lock(AccountNumberIdsRequest req);

    CommonResponse<Boolean> delete(AccountNumberIdsRequest req);

    CommonResponse<Boolean> reset(AccountNumberIdRequest req);

    CommonResponse< List<AccountNumberRoleListResp>> roleList();

    CommonResponse<Boolean> checkMobile(String mobile);

    CommonResponse<Boolean> checkStaffCode(String staffCode);

    CommonResponse<Boolean> checkUserCode(String userCode);

    CommonResponse<AccountCheckPasswordResp> checkPassword(String password);

    CommonResponse<Object> genPassword();

    CommonResponse<Object> queryPwdConfig();
}
